<?php

namespace Siese\EntityBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * CatSedes
 *
 * @ORM\Table(name="cat_sedes", uniqueConstraints={@ORM\UniqueConstraint(name="cod_sede", columns={"cod_sede"})})
 * @ORM\Entity
 */
class CatSedes
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="cod_sede", type="string", length=4, nullable=false)
     */
    private $codSede;

    /**
     * @var string
     *
     * @ORM\Column(name="nb_sede", type="string", length=300, nullable=false)
     */
    private $nbSede;


    
    /**
     * @var \CatEstados
     *
     * @ORM\ManyToOne(targetEntity="CatEstados", inversedBy="sede")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="estado_id", referencedColumnName="id")
     * })
     */
    private $estado;     

    /**
     * @var string
     *
     * @ORM\Column(name="estatus", type="string", length=1, nullable=true)
     */
    private $estatus;

   /**
     * @ORM\OneToMany(targetEntity="UsuariosSedes", mappedBy="sede")
     */
    private $usuariosSede;  
    
    /**
     * @var boolean
     *
     * @ORM\Column(name="puede_registrar_inspecciones", type="boolean",nullable=true)
     */
    private $puedeRegistrarInspecciones = TRUE;    

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set codSede
     *
     * @param string $codSede
     * @return CatSedes
     */
    public function setCodSede($codSede)
    {
        $this->codSede = $codSede;

        return $this;
    }

    /**
     * Get codSede
     *
     * @return string 
     */
    public function getCodSede()
    {
        return $this->codSede;
    }

    /**
     * Set nbSede
     *
     * @param string $nbSede
     * @return CatSedes
     */
    public function setNbSede($nbSede)
    {
        $this->nbSede = $nbSede;

        return $this;
    }

    /**
     * Get nbSede
     *
     * @return string 
     */
    public function getNbSede()
    {
        return $this->nbSede;
    }



    /**
     * Set estatus
     *
     * @param string $estatus
     * @return CatSedes
     */
    public function setEstatus($estatus)
    {
        $this->estatus = $estatus;

        return $this;
    }

    /**
     * Get estatus
     *
     * @return string 
     */
    public function getEstatus()
    {
        return $this->estatus;
    }
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->usuariosSede = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Add usuariosSede
     *
     * @param \Siese\EntityBundle\Entity\UsuariosSedes $usuariosSede
     * @return CatSedes
     */
    public function addUsuariosSede(\Siese\EntityBundle\Entity\UsuariosSedes $usuariosSede)
    {
        $this->usuariosSede[] = $usuariosSede;

        return $this;
    }

    /**
     * Remove usuariosSede
     *
     * @param \Siese\EntityBundle\Entity\UsuariosSedes $usuariosSede
     */
    public function removeUsuariosSede(\Siese\EntityBundle\Entity\UsuariosSedes $usuariosSede)
    {
        $this->usuariosSede->removeElement($usuariosSede);
    }

    /**
     * Get usuariosSede
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getUsuariosSede()
    {
        return $this->usuariosSede;
    }

    /**
     * Set puedeRegistrarInspecciones
     *
     * @param boolean $puedeRegistrarInspecciones
     * @return CatSedes
     */
    public function setPuedeRegistrarInspecciones($puedeRegistrarInspecciones)
    {
        $this->puedeRegistrarInspecciones = $puedeRegistrarInspecciones;

        return $this;
    }

    /**
     * Get puedeRegistrarInspecciones
     *
     * @return boolean 
     */
    public function getPuedeRegistrarInspecciones()
    {
        return $this->puedeRegistrarInspecciones;
    }

    /**
     * Set estado
     *
     * @param \Siese\EntityBundle\Entity\CatEstados $estado
     * @return CatSedes
     */
    public function setEstado(\Siese\EntityBundle\Entity\CatEstados $estado = null)
    {
        $this->estado = $estado;

        return $this;
    }

    /**
     * Get estado
     *
     * @return \Siese\EntityBundle\Entity\CatEstados 
     */
    public function getEstado()
    {
        return $this->estado;
    }
}
